package cn.wolfcode.luowowo.article.service;

import cn.wolfcode.luowowo.article.domain.Travel;
import cn.wolfcode.luowowo.common.query.TravelQuery;
import cn.wolfcode.luowowo.common.util.AjaxResult;
import cn.wolfcode.luowowo.member.domain.UserInfo;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface ITravelService {
    PageInfo query(TravelQuery qo);

    List<Travel> selectAll();

    Travel selectByPrimaryKey(Long id);

    AjaxResult saveOrUpdate(Travel travel, UserInfo userInfo);

    void updataState(Long id, int state);

    List<Travel> selectByDestIdTop3(Long id);

    List<Travel> list();

    List<Travel> selectByAuthorId(Long AuthorId);

    int query4CountByAuthorId(Long AuthorId);

    List<Travel> listAll();

    PageInfo queryByAuthorId(TravelQuery qo, Long id);

    Integer getReplyCountByAuthorId(Long userId);

    Integer getViewCountByAuthorId(Long userId);

    List<Travel> getByUserId(Long userId);

    boolean deleteCollection(Long id);
}
